Cyclomatic Complexity Metrics Revisited: an Empirical Study of Software Development and Maintenance Comments Were Received from Bill Curtis on an Earlier Draft

نویسنده

  • Geoffrey K. Gill
چکیده

While the need for software metrics to aid in the assessment of software complexity for both development and maintenance has been widely argued, little agreement has been reached on the appropriateness and value of any single metric. McCabe's cyclomatic complexity metric, a measure of the maximum number of linearly independent circuits in a program control graph has been widely used in research. However, despite the widespread interest and popularity of this metric, it has not been without criticism, both analytical (the Myers and Hansen variants) and empirical (the high correlation of cyclomatic complexity with size measures). The current research tested both types of critiques on a newly collected dataset of real world software development and maintenance projects. The analytical research questions were tested on a set of 834 software modules from a number of existing real-time systems. Neither the Myers nor Hansen variants were found to be significantly different from the original value as computed by McCabe. Therefore, these particular theoretical criticism seem to have little or no practical impact, as represented by the data collected in this study. In regard to the empirical research questions, previous concerns were validated on this new dataset. However, the current research proposes a simple transformation of the metric whereby the cyclomatic complexity is divided by the size of system in source statements, thereby determining a "complexity density" ratio. This complexity density ratio is demonstrated to be a useful predictor of software maintenance productivity on a small pilot sample of actual maintenance projects. CR

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Case Study on the Transformation from Proprietary to Open Source Software

This paper presents an extensive analysis of static software quality metrics changes for an open source enterprise database management system (DBMS), as the software was moved from the proprietary into open source software development environment. The software quality metrics of special interest for the research are cyclomatic complexity, effective lines of code, the degree of system modularity...

متن کامل

Impact of Unanticipated software evolution on development cost and quality: an empirical evaluation

Most techniques to aid maintenance and evolution of software require to define extension points. Generally, developers try to anticipate the parts that are more likely to evolve, but they can make mistakes and spend money in vain. With Unanticipated Software Evolution, developers can easily change any element of the software, even those that are not related with an extension point. However, we ...

متن کامل

سیر تدوین منشور حقوق مراجعان به آزمایشگاه‌های تشخیص پزشکی

Medical laboratory services and its clients are somehow different from services of the other sectors in the health system. Patient’s Rights Charter, published by the Ministry of Health and Medical Education, was comprehensive, but addressing specific aspects of the related areas in medical laboratories could promote the commitment and dedication in laboratory professional services hence, develo...

متن کامل

Relating Design Metrics to Software Quality: Some Empirical Results

The purpose of the Design Metrics project is to develop a metrics approach for analyzing software designs which helps designers engineer quality into the design product. These metrics will gauge project quality as well as design complexity at all times during the design phase. Having quantifiable measurements could help managers and software developers determine the better design when alternati...

متن کامل

The Impact of Complexity on Software Design Quality and Costs: An Exploratory Empirical Analysis of Open Source Applications

It is well known that complexity affects software development and maintenance costs. In the Open Source context, the sharing of development and maintenance effort among developers is a fundamental tenet, which can be thought as a driver to reduce the impact of complexity on maintenance costs. However, complexity is a structural property of code, which is not quantitatively accounted for in trad...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2008